package com.xbongbong.pro.paymenttask.pojo.dto;

import com.xbongbong.paas.domain.entity.PaasFormDataEntity;
import com.xbongbong.paas.pojo.AddMuchFieldPojo;
import com.xbongbong.paas.pojo.dto.AddBatchDTO;
import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import com.xbongbong.pro.user.pojo.ReturnUserAndDepartmentPojo;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author: 汪腾伟
 * @date: 2020/9/9
 * @desrcption: 回款计划新增有关实体
 * @version:1.0
 */
@Getter
@Setter
@ToString
public class PaymentTaskDTO extends BaseDTO {

    private static final long serialVersionUID = -6553667463850583456L;
    /**
     * 应用id
     */
    @NotNull(message = "{dto.msg.payment.appId.NotNull}")
    private Long appId;

    /**
     * 菜单id
     */
    private Long menuId;

    /**
     * 表单id
     */
    private Long formId;

    /**
     * saas标记
     */
    @NotNull(message = "{dto.msg.payment.saasMark.NotNull}")
    private Integer saasMark;

    /**
     * saas业务类型
     */
    private Integer businessType;

    /**
     * 需要添加的数据
     */
    private List<AddMuchFieldPojo> addBatchList;

    /**
     * 需要更新的数据
     */
    private List<AddMuchFieldPojo> updateBatchList;

    /**
     * 删除的数据
     */
    private List<AddMuchFieldPojo> delBatchList;

    /**
     * 合同新建
     */
    private Boolean parentNew = false;

    /**
     * 流程用
     */
    private String processCreatorId;

    /**
     * 暂时：是否是导入 1是导入，因为导入关联回款单的合同会触发删除，这里标记一下
     */
    private Integer isImport;

    /**
     * 模式类型 1.计划应收模式 2.开票应收模式
     */
    private Integer modelType;

    /**
     * 关联合同实体
     */
    private PaasFormDataEntity  linkContractEntity;

    /**
     * 负责人
     */
    private List<ReturnUserAndDepartmentPojo> ownerId;
    /**
     * 协同人
     */
    private List<ReturnUserAndDepartmentPojo> coUserId;

    /**
     * 回款付款新建编辑
     */
    private AddBatchDTO addBatchDTO;
    /**
     * 回款单新建编辑
     */
    private AddBatchDTO addPaymentSheetBatchDTO;
    /**
     * 预付款核销新建编辑
     */
    private AddBatchDTO addWriteOffPrepaymentBatchDTO;
}
